package strategy.concretas;

import classes.FixedLengthDocument;
import javax.swing.text.PlainDocument;

import strategy.IDocument;


/**
 * Objeto PainDocument que aplica Regex para Letras.
 * @since 2009.08.17
 */
public class DocLetras implements IDocument {

    private int limite = -1;
    PlainDocument doc;

    /**
     * Cria um novo PlainDocument que aceita somente Letras.
     */
    public DocLetras() {
        super();
    }

    /**
     * Cria um novo PlainDocument que aceita somente Letras e possui limite de caracteres.
     * @param limite a quantidade máxima de caracteres aceitos.
     * Valores menores que zero significam que não possui limite.
     */
    public DocLetras(int limite) {
        super();
        this.limite = limite;
    }

    @Override
    /**
     * Retorna um PlainDocument com limitação de Letras.
     */
    public PlainDocument getDocumentoPlano() {
        if (doc == null) {
            doc = new FixedLengthDocument(limite, FixedLengthDocument.LETRAS);
        }
        return doc;
    }
}
